/*=============================================================================
* File Name : TouchManager.h                        Ver : 1.00  Date : 2011/08/28
*
* Description :
*
*       ファイルの説明.
*
* Author : yuuki tsuchida.
*============================================================================*/
#ifndef _TOUCH_MANAGER_H_
#define _TOUCH_MANAGER_H_

#include "TouchEvent.h"

namespace tglib
{

/**
 * @brief クラスの説明．
 */
class TouchManager
{
public:
	/*===========================================================================*/
	/**
	 * 更新．
	 */
	void update();

	/*===========================================================================*/
	/**
	 * 移動量の取得．
	 *
	 * @return   移動量．
	 */
	Vector2	getVelocit() const;

	/*===========================================================================*/
	/**
	 * タッチ座標の取得．
	 *
	 * @return   タッチ座標．
	 */
	const Vector2& getTouchPoint() const;

	/*===========================================================================*/
	/**
	 * タッチしているかどうか?．
	 *
	 * @return   タッチしているかどうか．
	 */
	bool isTouch() const;

	/*===========================================================================*/
	/**
	 * タップかどうか．
	 *
	 * @return   タップかどうか．
	 */
	bool	isTap() const;

	/*===========================================================================*/
	/**
	 * タッチイベント(値を保存するため)．
	 *
	 * @param [in]  x 		X座標．
	 * @param [in]  y 		Y座標．
	 * @param [in]  type 	イベントタイプ．
	 */
	void touchEvent( float x, float y, int type );

private:
	/** @brief コールバック時の値の保存用 */
	TouchEvent		m_currentTouchEvent;

	/** @brief 今回のフレームの値 */
	TouchEvent		m_nowTouchEvent;

	/** @brief 1フレーム前の値 */
	TouchEvent		m_oldTouchEvent;
};

}

#endif

/*========= End of File =====================================================*/
